1. Technical Field
The present invention relates to a file management program, a data structure, and a file management device that can provide a long filename and a short filename for each file or directory and manage the file or directory using the filenames.
2. Related Art
As such a file management program, for example, a file system used for the operating system of Microsoft Corporation (Windows® and MS-DOS), that is, a virtual file allocation table (VFAT) file system is conventionally known. Japanese Unexamined Patent Publication No. Hei 6-309207 is an example of such related art. In the file management program disclosed in the related art example, a long filename and a short filename are provided for each file. The provided long filename is separately stored into a plurality of directory entries, each of which can store a predetermined number of characters. The provided short filename is collectively stored into a single directory entry. Thus the file is managed.
In the file management program as disclosed in the related art example, when a desired file is retrieved, the following flow is generally performed: one directory entry holding the long filename (long filename rectory entry) of an arbitrary file is read out; and the long filename is taken from the directory entry that is read out. If it is decided that the long filename taken from the directory entry continues further, the above flow is repeated starting from reading out the directory entry. In this file management program, when all the characters of the long filename of the arbitrary file are taken by repeating the above flow, the long filename taken from the directory entry is then compared with the filename of the desired file so that the desired file is found out.
In the above conventional file management program, however, if the analysis of a long filename is as necessary as when a desired file is retrieved, the reading and analyzing of the long filename directory entry are repeated. If this program is applied, for example, to an embedded device that has a severe constraint on its hardware performance due to the needs for low power consumption and miniaturization, processing takes much time and thus this program involves the problem of increasing the processing time.